using System.ComponentModel;

namespace Matrix.Notification.Domain.Shared.Notifications
{
    /// <summary>
    /// 通知渠道枚举
    /// </summary>
    public enum NotificationChannel
    {
        /// <summary>
        /// 未指定
        /// </summary>
        [Description("未指定")]
        None = 0,

        /// <summary>
        /// 应用内通知
        /// </summary>
        [Description("应用内通知")]
        InApp = 1,

        /// <summary>
        /// 邮件通知
        /// </summary>
        [Description("邮件通知")]
        Email = 2,

        /// <summary>
        /// 短信通知
        /// </summary>
        [Description("短信通知")]
        Sms = 3,

        /// <summary>
        /// 推送通知
        /// </summary>
        [Description("推送通知")]
        Push = 4,

        /// <summary>
        /// 微信通知
        /// </summary>
        [Description("微信通知")]
        WeChat = 5,

        /// <summary>
        /// 钉钉通知
        /// </summary>
        [Description("钉钉通知")]
        DingTalk = 6,

        /// <summary>
        /// 企业微信通知
        /// </summary>
        [Description("企业微信通知")]
        WeCom = 7,

        /// <summary>
        /// 飞书通知
        /// </summary>
        [Description("飞书通知")]
        Feishu = 8,

        /// <summary>
        /// 电话通知
        /// </summary>
        [Description("电话通知")]
        Phone = 9,

        /// <summary>
        /// Webhook通知
        /// </summary>
        [Description("Webhook通知")]
        Webhook = 10,

        /// <summary>
        /// Slack通知
        /// </summary>
        [Description("Slack通知")]
        Slack = 11,

        /// <summary>
        /// Teams通知
        /// </summary>
        [Description("Teams通知")]
        Teams = 12,

        /// <summary>
        /// 邮件通知
        /// </summary>
        [Description("邮件通知")]
        Mail = 13
    }
}